.. :validated: 3.2.0

Обновление резервных контроллеров домена, подсистем и клиентов ALD Pro через портал управления
====================================================

Функционал централизованного обновления ``aldpro-client`` на компьютерах домена через **Портал управления** реализован в виде **Политик обновления** **ALD Pro** и функционирует аналогично **Групповым Политикам** по pull-модели. **Standalone-миньон** - автономный клиент на компьютерах домена для запуска заданий и локальных задач без подключений к мастеру - отвечает за формирование *source.list* и обновление ``aldpro-client`` при появлении новых версий **ALD Pro** в репозиториях, повышая гибкость и автономность процесса обновления на компьютерах клиентов.

Управление политикой обновления осуществляется через интерфейс **Портала Управления** в разделе **Установка и обновление ПО** – **Политики обновления ALD Pro**:

Для создания новой политики обновления **ALD Pro** необходимо нажать на кнопку [**+ Новая политика обновления**]. Будет выполнен переход на карточку новой политики.

На карточке на вкладке **Основное** задать имя политики обновления **ALD Pro**. Также можно указать описание политики. Указать статус политики: [**Включена**] и нажать кнопку [**Сохранить**].

.. figure:: media/subsystems_update_1.png
    :scale: 50
    :name: рис. 3.2

    Создание Групповой Политики обновления подсистем. Вкладка "Основное"

На вкладке **Source list** нажать кнопку [**Редактировать**] и ввести:

.. code-block:: bash

    deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Затем оставить внизу комментарий (обязательно) и нажать кнопку [**Сохранить**].

.. figure:: media/subsystems_update_2.png
    :scale: 50

    Создание Групповой Политики обновления подсистем. Вкладка "Source list"

На вкладке **Компьютеры** указать все компьютеры или группы компьютеров, требующих обновления:

.. figure:: media/subsystems_update_3.png
    :scale: 50
    :name: рис. 3.3

    Создание Групповой Политики обновления подсистем. Вкладка "Компьютеры"

.. important::

    При запуске политики обновления проверяется значение ``osfamily`` компьютера и, в зависимости от него, формируется разный путь к источнику обновлений на клиенте. 
    
Для **ALSE 1.7.xxx**, **1.8.xxx** и всех оперативных обновлений ``sources.list`` расположен по пути ``/etc/apt/sources.list.d/aldpro.list``.

Для клиентов с **Альт Рабочая станция 10.4** и **Альт СП 10** -- ``etc/apt/sources.list.d/aldpro.list``.

Для клиентов с **ОС РЕД ОС 7.3** и **РЕД ОС 8** -- ``/etc/yum.repos.d/aldpro.repo``. 

Для более удобной и правильной работы политик обновления **ALD Pro** и указания ``sources.list`` рекомендуется создавать отдельные политики для каждой ОС.

Политика обновления выполняется раз в сутки по таймеру.

Начиная с версии 2.3.0 после создания ГП и перед обновлением клиента, необходимо на компьютере подсистемы **Общего Доступа к Файлам** выполнить следующую команду:

.. code-block:: bash
    
    kdestroy -A

После создания политики обновления **ALD Pro** через портал управления для форсирования ее применения и начала обновления **ALD Pro** необходимо выполнить действия ниже.

**Форсирование для резервных контроллеров домена и подсистем**

Применить политики обновления (указывают необходимые репозитории **ALD Pro** на хосте) с помощью команды:

.. code-block:: bash

    aldpro-salt-call aldpro_update_policy.build_and_run_updatepolicy verbose=True force=True

Обновить индекс пакетов, выполнив в терминале команду:

.. code-block:: bash

    sudo apt update

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

    sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию **Policy Manager** командой:

.. code-block:: bash

    sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

    sudo aldpro-gpupdate --gp

Запустить обновление реплик и подсистем в карточке сервера через кнопку **Обновить ALD Pro**.
Форсировать применение обновления командой:

.. code-block:: bash

    sudo aldpro-roles --iud --action update

После обновления **ALD Pro** на портале необходимо перейти в карточку обновляемого сервера и убедиться, что состояние реплики/подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.
В случае возникновения ошибки в процессе обновления соответствующая информация отображается в карточке реплики или подсистемы домена.

**Форсирование для клиентов**

Применить политики обновления (указывают необходимые репозитории **ALD Pro** на хосте) с помощью команды:

.. code-block:: bash

    aldpro-salt-call aldpro_update_policy.build_and_run_updatepolicy verbose=True force=True

Обновить индекс пакетов, выполнив в терминале команду:

.. code-block:: bash

    sudo apt update

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

    sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию **Policy Manager** командой:

.. code-block:: bash

    sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

    sudo aldpro-gpupdate --gp

Проверка версии пакета ``aldpro-client`` командой:

.. code-block:: bash

    apt-cache policy aldpro-client

Проверка версий зависимостей командой:

.. code-block:: bash

    apt-cache policy astra-freeipa-client salt-minion zabbix-agent python3 aldpro-client-rdm syslog-ng initramfs-tools aldpro-common python3-distro python3-yaml aldpro-policy-manager
